﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SGC.BL.SolicitudCambio;
using SGC.BE;
using System.Text;

namespace SGC.Web.ModuloCalidad.Mantenimientos
{
    public partial class ConsultarSolicitudCambio : System.Web.UI.Page
    {
        #region MetodosUsuario
        private string ObtenerSolicitudSeleccionada()
        {
            string strInforme = null;            
            foreach (DataGridItem fila in dgdSolicitudCambio.Items)
            {
                CheckBox chk = (CheckBox)fila.FindControl("chk_item");
                if (chk.Checked)
                {
                    Label lbl = (Label)fila.FindControl("lblCodigo");
                    strInforme = lbl.Text;
                    break;
                }
            }
            return strInforme;
        }
        private void LimpiarGrilla()
        {
            dgdSolicitudCambio.DataSource = null;
            dgdSolicitudCambio.DataBind();
        }
        private void Buscar(string codigo)
        {
            BL_SolicitudCambio negocio = new BL_SolicitudCambio();
            IList<BE_SolicitudCambio> lista;
            if (codigo==null)
	        {
                //Listar Todas
                lista = negocio.Listar(null, null);
	        }
            else
            {
                lista = negocio.Listar("CODIGO_SOLICITUD_CAMBIO", codigo);
            }
            if (lista.Count==0)
            {
                lista = null;
            }
            dgdSolicitudCambio.DataSource = lista;
            dgdSolicitudCambio.DataBind();
            
        }
        #endregion
        
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Buscar(null);
            }

        }

        protected void btnBuscarSolicitud_Click(object sender, EventArgs e)
        {
            if (txtBuscarSolicitud.Text == string.Empty)
            {
                Buscar(null);
            }
            else
            {
                Buscar(txtBuscarSolicitud.Text);
            }
        }

        protected void btnSalir_Click(object sender, EventArgs e)
        {
            StringBuilder strBuilder = new StringBuilder();
            strBuilder.Append("~/Index.aspx");
            Response.Redirect(strBuilder.ToString());
        }

        protected void btnEliminar_Click(object sender, EventArgs e)
        {            
            string codigo = ObtenerSolicitudSeleccionada();
            if (codigo == null)
            {
                //Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", "alert('Hello');",true);
                ScriptManager.RegisterStartupScript(this, this.GetType(), "Eliminar Solicitud Cambio", "jsSeleccionoSC();", true);
            }
            else
            {
                BL_SolicitudCambio negocio = new BL_SolicitudCambio();
                BE_SolicitudCambio entidad = new BE_SolicitudCambio();
                entidad.CODIGO_SOLICITUD_CAMBIO = codigo;
                int resultado = negocio.Eliminar(entidad);
                if (resultado==0)
                {
                    Buscar(null);
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "Eliminar Solicitud Cambio", "jsEliminar1SC();", true);
                }
                else
                {
                    //Mensaje de Error
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "Eliminar Solicitud Cambio", "jsErrorEliminar1SC();", true);
                }
            }
        }

        protected void btnModificar_Click(object sender, EventArgs e)
        {
            string codigo = ObtenerSolicitudSeleccionada();
            if (codigo == null)
            {
                //Mensaje Seleccione
                ScriptManager.RegisterStartupScript(this, this.GetType(), "Modificar Solicitud Cambio", "jsSeleccionoSC();", true);
            }
            else
            {
                StringBuilder strBuilder = new StringBuilder();
                strBuilder.Append("~/ModuloCalidad/Mantenimientos/Solicitud_Cambio/ActualizarSolicitudCambio.aspx");
                strBuilder.Append("?Registrar=M&Codigo=" + codigo);
                Response.Redirect(strBuilder.ToString());
            }
        }

        protected void btnRegistrar_Click(object sender, EventArgs e)
        {
            StringBuilder strBuilder = new StringBuilder();
            strBuilder.Append("~/ModuloCalidad/Mantenimientos/Solicitud_Cambio/ActualizarSolicitudCambio.aspx");
            strBuilder.Append("?Registrar=R&Codigo=0000000000");
            Response.Redirect(strBuilder.ToString());
        }

        protected void btnAprobar_Click(object sender, EventArgs e)
        {
            string codigo = ObtenerSolicitudSeleccionada();
            if (codigo == null)
            {
                //Mensaje Seleccione
                ScriptManager.RegisterStartupScript(this, this.GetType(), "Aprobar Solicitud Cambio", "jsSeleccionoSC();", true);
            }
            else
            {
                BL_SolicitudCambio negocio = new BL_SolicitudCambio();
                BE_SolicitudCambio entidad = negocio.ListarporId(codigo);
                Session["SolCamb"] = entidad;
                ScriptManager.RegisterStartupScript(this, this.GetType(), "Aprobar Solicitud Cambio", "jsPopupAprobarSC();", true);                
            }
        }
    }
}